package com.ap.generator.rtp;

import com.ap.core.cxf.jaxb.rtp.AbstractProductTypeGeneratorBuilder;
import com.ap.datagen.math.BigDecimalRandomGeneratorBuilder;

import static com.ap.datagen.core.Nullable.nullable;
import static com.ap.datagen.lang.StringRandomGeneratorBuilder.stringRandomGeneratorBuilder;

/**
 * 
 * @author Siva.Pochana
 *
 */
public class ProductTypeGeneratorBuilder extends
		AbstractProductTypeGeneratorBuilder {

	@Override
	public void setupDefaults() {
		this.additionalProductInfoGenerator = nullable(stringRandomGeneratorBuilder().alphabeticUppper().length(15).build());
		this.productCodeGenerator = nullable(stringRandomGeneratorBuilder().alphabeticUppper().length(15).build());
		this.productDescGenerator = nullable(stringRandomGeneratorBuilder().alphabeticUppper().length(15).build());
		this.productAmountGenerator = nullable(BigDecimalRandomGeneratorBuilder.bigDecimalRandomGeneratorBuilder().build());
		this.unitPriceGenerator = nullable(BigDecimalRandomGeneratorBuilder.bigDecimalRandomGeneratorBuilder().build());
	}

	/**
	 * 
	 * @return
	 */
	public static ProductTypeGeneratorBuilder getProductTypeGenerator() {
		return new ProductTypeGeneratorBuilder();
	}
}
